fd4e4fbc64d665b1f05fc4388a693121f58c006f,router/java/src/net/i2p/data/i2np/I2NPMessageImpl.java,I2NPMessageImpl,readBytes,#number#number#number#,131

Before Change


                                           + " cur=" + cur 
                                           + " wanted=" + size + "]: " + getClass().getName());

        Hash calc = _context.sha().calculateHash(data, cur, size);
        //boolean eq = calc.equals(h);
        boolean eq = DataHelper.eq(hdata, 0, calc.getData(), 0, CHECKSUM_LENGTH);
        if (!eq)
            throw new I2NPMessageException("Hash does not match for " + getClass().getName());

After Change


                                           + " cur=" + cur 
                                           + " wanted=" + size + "]: " + getClass().getName());

        byte[] calc = SimpleByteCache.acquire(Hash.HASH_LENGTH);
        _context.sha().calculateHash(data, cur, size, calc, 0);
        boolean eq = DataHelper.eq(hdata, 0, calc, 0, CHECKSUM_LENGTH);
        SimpleByteCache.release(calc);
        if (!eq)
            throw new I2NPMessageException("Hash does not match for " + getClass().getName());